1. NSURLSession 的优势
    NSURLSession 支持 http2.0 协议
    在处理下载任务的时候可以直接把数据下载到磁盘
    支持后台下载|上传
    同一个 session 发送多个请求，只需要建立一次连接（复用了TCP）
    提供了全局的 session 并且可以统一配置，使用更加方便
    下载的时候是多线程异步处理，效率更高

2. NSURLSessionTask 的子类
    (1) NSURLSessionTask 是一个抽象类，如果要使用那么只能使用它的子类
    (2) NSURLSessionTask 有两个子类：
            NSURLSessionDataTask,可以用来处理一般的网络请求，如 GET | POST 请求等
                NSURLSessionDataTask 有一个子类为 NSURLSessionUploadTask,用于处理上传请求的时候有优势
            NSURLSessionDownloadTask,主要用于处理下载请求，有很大的优势

3. NSURLSessionDataTask 发送 GET 请求
// http://test.activityplus.com.cn/index.php/server/activity_list
    (1) 使用 NSURLSession 对象创建 Task
    (2) 执行 Task

4. NSURLSessionDataTask 发送 POST 请求
    http://siyi.api.xt-cloud.com/show
    body: {
        "action":"getShowIndex"
    }
    (1) 使用 NSURLSession 对象创建 Task
    (2) 执行 Task

5. NSURLSessionDataTask 设置代理发送请求
    (1) 创建 NSURLSession 对象设置代理;
    (2) 使用 NSURLSession 对象创建 Task;
    (3) 执行 Task;
    (4) 遵守协议，实现代理方法（常用的有三种代理方法）。
** 注意：设置代理之后的强引用问题：
(1) NSURLSession 对象在使用的时候，如果设置了代理，那么 session 会对代理对象保持一个强引用，在合适的时候应该主动进行释放
(2) 可以在控制器调用 viewDidDisappear 方法的时候来进行处理，可以通过调用 invalidateAndCancel 方法或者是 finishTasksAndInvalidate 方法来释放对代理对象的强引用
    <1> invalidateAndCancel 方法直接取消请求然后释放代理对象
    <2> finishTasksAndInvalidate 方法等请求完成之后释放代理对象。








